﻿using System;
using Utility.Global;
using Utility.Global.DataTypes;

namespace Application_Core.Arbeitsplan_Component.Data_Access_Layer
{
    public class VorgangDTO : DataTransferObject, ConvertableToEntity<Vorgang>
    {
        public virtual VorgangArtTyp Art { get; set; }

        public virtual TimeSpan Rüstzeit { get; set; }

        public virtual TimeSpan Maschinenzeit { get; set; }

        public virtual TimeSpan Personenzeit { get; set; }

        public virtual ArbeitsplanDTO Arbeitsplan { get; set; }

        public VorgangDTO() { }

        public VorgangDTO(VorgangArtTyp art, TimeSpan rüstzeit, TimeSpan maschinenzeit, TimeSpan personenzeit, ArbeitsplanDTO arbeitsplan)
        {
            this.Art = art;
            this.Rüstzeit = rüstzeit;
            this.Maschinenzeit = maschinenzeit;
            this.Personenzeit = personenzeit;
            this.Arbeitsplan = arbeitsplan;
        }

        public Vorgang ToEntity()
        {
            Vorgang vorgang = new Vorgang();
            vorgang.Art = this.Art;
            vorgang.Rüstzeit = this.Rüstzeit;
            vorgang.Maschinenzeit = this.Maschinenzeit;
            vorgang.Personenzeit = this.Personenzeit;
            vorgang.Arbeitsplan = this.Arbeitsplan.ToEntity();
            return vorgang;
        }
    }
}